package com.waterfairy.mp3lame;

public class SimpleLame {

    static {
        System.loadLibrary("mp3lame");
    }


    public native String getVersion();

    /**
     * @param wav
     * @param mp3
     * @param inSampleRate  音频采样率  16000
     * @param inChannels    声道       1
     * @param outSampleRate 输出采样率  16000
     * @param bitrate       比特率     128     音频比特率（Bitrate）是指音频文件中每秒钟的数据量,通常以kbps（千位元每秒）
     * @param mode          MPEG_MODE 3(1:立体,3.单声道,)
     * @param quality       质量       2 (0-9)0最好,9最差
     */
    public native void wavToMp3(
            String wav,
            String mp3,
            int inSampleRate,
            int inChannels,
            int outSampleRate,
            int bitrate,
            int mode,
            int quality
    );

    /**
     * @param pcm
     * @param mp3
     * @param inSampleRate  音频采样率  16000
     * @param inChannels    声道       1
     * @param outSampleRate 输出采样率  16000
     * @param bitrate       比特率     128     音频比特率（Bitrate）是指音频文件中每秒钟的数据量,通常以kbps（千位元每秒）
     * @param mode          MPEG_MODE 3(1:立体,3.单声道,)
     * @param quality       质量       2 (0-9)0最好,9最差
     */
    public native void pcmToMp3(
            String pcm,
            String mp3,
            int inSampleRate,
            int inChannels,
            int outSampleRate,
            int bitrate,
            int mode,
            int quality
    );

    public static void wavToMp3Normal(String wavPath, String mp3Path) {
        new SimpleLame().wavToMp3(wavPath, mp3Path, 16000, 1, 16000, 128, 3, 1);
    }
    public static void pcmToMp3Normal(String pcmPath, String mp3Path) {
        new SimpleLame().wavToMp3(pcmPath, mp3Path, 16000, 1, 16000, 128, 3, 1);
    }
}
